/*
 * Projeto PPI 4ºSemnestre - SI
 * Nome: Leandro Kenji Tabata RA: 1430431112044
 * Classe: Material
 */
package br.fatec.ppi.projeto;

import javax.persistence.Column;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;

/**
 *
 * @author Kenji
 */
@Entity
public class Amostra {
    //Atributos
    @Id private int idAmostra;
    
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtColeta;
    
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dtFracionamento;
    private Enum status;
    private String complementoMaterial;
    private String diagnostico;
    private String comentario;
    private Enum resultado;
    
    //Relacionamentos
    @ManyToOne
    @Column(nullable=false)
    private List<Material> materiais;
    
    @ManyToOne
    @Column(nullable=false)
    private List<Animal> animais;
    
    @Column(nullable=false)
    @ManyToOne
    private List <MeioConservacao> meiosConsevacao;
    
    @Column(nullable=false)
    @ManyToOne
    private Exame exames;

    @ManyToOne
    private List<Departamento> departamentos;

    @Column(nullable=false)
    @OneToOne
    private List<Patologia> patologias;

    //Gets e Sets
    public int getIdAmostra() {
        return idAmostra;
    }

    public void setIdAmostra(int idAmostra) {
        this.idAmostra = idAmostra;
    }

    public Date getDtColeta() {
        return dtColeta;
    }

    public void setDtColeta(Date dtColeta) {
        this.dtColeta = dtColeta;
    }

    public Date getDtFracionamento() {
        return dtFracionamento;
    }

    public void setDtFracionamento(Date dtFracionamento) {
        this.dtFracionamento = dtFracionamento;
    }

    public Enum getStatus() {
        return status;
    }

    public void setStatus(Enum status) {
        this.status = status;
    }

    public String getComplementoMaterial() {
        return complementoMaterial;
    }

    public void setComplementoMaterial(String complementoMaterial) {
        this.complementoMaterial = complementoMaterial;
    }

    public String getDiagnostico() {
        return diagnostico;
    }

    public void setDiagnostico(String diagnostico) {
        this.diagnostico = diagnostico;
    }

    public String getComentario() {
        return comentario;
    }

    public void setComentario(String comentario) {
        this.comentario = comentario;
    }

    public Enum getResultado() {
        return resultado;
    }

    public void setResultado(Enum resultado) {
        this.resultado = resultado;
    }

    public List<Material> getMateriais() {
        return materiais;
    }

    public void setMateriais(List<Material> materiais) {
        this.materiais = materiais;
    }

    public List<Animal> getAnimais() {
        return animais;
    }

    public void setAnimais(List<Animal> animais) {
        this.animais = animais;
    }

    public List<MeioConservacao> getMeiosConsevacao() {
        return meiosConsevacao;
    }

    public void setMeiosConsevacao(List<MeioConservacao> meiosConsevacao) {
        this.meiosConsevacao = meiosConsevacao;
    }

    public Exame getExames() {
        return exames;
    }

    public void setExames(Exame exames) {
        this.exames = exames;
    }

    public List<Departamento> getDepartamentos() {
        return departamentos;
    }

    public void setDepartamentos(List<Departamento> departamentos) {
        this.departamentos = departamentos;
    }

    public List<Patologia> getPatologias() {
        return patologias;
    }

    public void setPatologias(List<Patologia> patologias) {
        this.patologias = patologias;
    }

    
}
